<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <title>A COMPREHENSIVE BEGINNER'S INTRODUCTION TO LADOSC co-starring ardour
    and galan</title>
  <meta name="generator" content="Amaya 9.54, see http://www.w3.org/Amaya/" />
  <link href="using-ladosc-files/ingen-large.png" />
</head>

<body style="background-color: Grey;">
<a href="using-ladosc.html">main ladosc documentation</a>
<h1>The super simple step by step guide to using ladosc, with plenty of
  pictures</h1>
<p>Make sure you have <code>ardour</code> and
<code>galan</code> installed.</p>
<p>First, start up galan</p>
<img alt="running galan" src="using-ladosc-files/step_by_step/run.png"/>
<p>Next, create the input plugin, by right clicking on the big black square,
  which is called the canvas</p>
<img alt="selecting the plugin"
     src="using-ladosc-files/step_by_step/plugin_select.png"/>
<p>Now, make the <em>control panel</em> visible</p>
<img alt="opening the control window"
     src="using-ladosc-files/step_by_step/open_controls.png"/>
<p>Right click on the input plugin, and make a <em>new control</em> for the
  <em>index_start</em> parameter. It's dial will be set to 0, keep it there</p>
<img alt="creating the index start control"
     src="using-ladosc-files/step_by_step/open_control_win.png"/>
<p>Create controls for <em>connect</em>, and <em>port</em>, and click and drag
them by thier parameter names into the arrangement shown below.</p>
<img alt="the layout for the input parameter controls"
     src="using-ladosc-files/step_by_step/input_control_layout.png"/>
<p>Create a <em>control</em> object, below the <em>osc_in1</em> object in the
main sheet, which we will use as a display.</p>
<img alt="creating a control"
     src="using-ladosc-files/step_by_step/create_control.png"/>
<p>Click and drag on the furthest rightmost bottom bubble on the
  <em>osc_in1</em> object (the one that makes the display area tooltip say
  "osc_in1 [status]"), and drag it to the leftmost upper bubble on the
  <em>control</em> object (the one which makes the display area tooltip say
  "ctrl2 [Value]"). If you do this correctly, the bubbles will have a line
  between them, representing a patch cable.</p>
<img alt="the connected control"
     src="using-ladosc-files/step_by_step/connect.png"/>
<p>Right click on the <em>ctrl</em> object on the canvas to create a new slider,
  arrange the slider so it lines up with the other controls in the control
  window without obscuring them, and then right click again on the ctrl object,
  this time renaming it to "status". This change will show up in both windows.
</p>
<img alt="renamed and displayed status indicator"
     src="using-ladosc-files/step_by_step/rename_control.png"/>
<p>Right click on the <em>status</em> object on the canvas, and select
  properties. Change it's range to -1000 - 1000</p>
<img alt="setting the status widget properties"
     src="using-ladosc-files/step_by_step/properties_edit.png"/>
</p>
<p>Create and display another <em>control</em>, this one called "data", and
  connected to the <em>osc_in1 [out 0]</em> port (the one on the lower left).
  Make it a knob or a slider or something. Set the control's range to 0-4.
  Click on the connect button, and you have a finished and running ladosc
  server.
</p>
<img alt="the finished server"
     src="using-ladosc-files/step_by_step/finished_server.png"/>
<p>Run ardour (on my system it is called ardour2, on yours it may just be called
ardour, and if you live in the future, there will be a decent chance of it being
named ardour3)</p>
<img alt="starting ardour"
     src="using-ladosc-files/step_by_step/run_2.png"/>
<p>Create a new project</p>
<img alt="making a new file in ardour"
     src="using-ladosc-files/step_by_step/ardour_new.png"/>
<p>It should look something like this</p>
<img alt="ardour running"
     src="using-ladosc-files/step_by_step/ardour.png"/>
<p>Hit the <code>&lt;F11></code> key and toggle so some extranious details are
  hidden (or use the <em>View - maximise editor space</em> menu item); turn
  on the editor mixer display with the <code>E</code> key (or also from the
  <em>View</em> menu); Turn off all of the views but <em>Mins:Secs</em> on the
  upper time display context menu, as shown below.
  </p>
<img alt="removing extranious information"
     src="using-ladosc-files/step_by_step/ardour_remove_context.png"/>
<p>Right click on the plugin area over the master mixer strip, and click on
  <em>New Plugin ...</em></p>
<img alt="loading a plugin in ardour"
     src="using-ladosc-files/step_by_step/new_plugin.png"/>
<p>Find the  <em>osc output</em> plugin, and double click on it. Click on the
  <em>Insert Plugin(s)</em> button in the lower righthand corner of the window.
</p>
<img alt="selecting the output plugin"
     src="using-ladosc-files/step_by_step/selecting_output_plugin.png"/>
<p>Double click on the label that says <em>(osc output)</em>, where you right-
  clicked to add the plugin in order to bring up the plugin configuration
  window.</p>
<img alt="configuration window"
     src="using-ladosc-files/step_by_step/plugin_setup.png"/>
<p>Set up the parameters. For the port, index, and octets, right clicking
  increases a number, left clicking decreases the number. control-clicking
  goes to the ends of the ranges, shift-clicking moves by smaller jumps. Set
  everything up so it looks like below (hint: on my setup, in order to make
  it say 127 instead of 128, I had to jump all the way down to 0 with a
  control-left, then move up with shift-rights, and then back down with left
  clicks, because it only wanted to change values by twos).
</p>
<img alt="plugin, configured"
     src="using-ladosc-files/step_by_step/plugin_configured.png"/>
<p>Now, click on the <em>connect</em> button. Click on the box to the right of
  the <em>input</em> label, and drag. You should see your movements mirrored
  in the galan window. Now you have a running client.</p>
<p>Click on the <em>a</em> button next to the <code>master</code> track on the
  timeline, and select the <em>input</em> channel of the <em>osc output</em>
  device.</p>
<img alt="opening up the automation track"
     src="using-ladosc-files/step_by_step/automation_open.png"/>
<p>Click and release in the lower left corner of the automation track. This
  creates an automation point.</p>
<img alt="creating an automation point"
     src="using-ladosc-files/step_by_step/automation_point.png"/>
<p>Click and release higher, and to the right, on the automation track. An
  automation line will be made, connecting the two points.</p>
<img alt="the automation line"
     src="using-ladosc-files/step_by_step/automation_line.png"/>
<p>From the <em>View - Maximise Editor Space</em> menu option, make the
  transport controls visible. From the <em>Rulers - Loop/Punch</em> menu option,
  make the loop strip visible.</p>
<img alt="rulers and transport being made visible"
     src="using-ladosc-files/step_by_step/rulers_transport.png"/>
<p>Drag out a line along the loop strip, following our automation, and when you
  are done, select the "set loop range" option.</p>
<img alt="setting the loop range"
     src="using-ladosc-files/step_by_step/loop_range.png"/>
<p>Punch the <em>play looped</em> button (shortcut: <code>l</code>), and sit
  there in awe as your ardour automation makes the slider in the galan window
  wiggle around.</p>
<img alt="play looped button"
     src="using-ladosc-files/step_by_step/play_looped.png"/>
<p>Left as an exercise for the reader: audio input and output from galan,
  piping back into ardour as a "freeze" feature, transforming a number between
  0 and 4 into a range that a frequency control would find useful, copying and
  pasting automation points, writing automation points as the transport moves
  to "twiddle knobs" in real time, mastering a CD, getting people to listen to
  music that was made with a computer, fixing my code so that you don't need
  to make a seperate osc transmitter/server instance per plugin, and you don't
  have to compile liblo into the file statically.</p>
</body>
</html>
